home *** CD-ROM | disk | FTP | other *** search
/ PCMania 48 / PCMania CD48_1.iso / data / visual.mst < prev   
Text File  |  1996-02-05  |  6KB  |  235 lines

  1. '*                       Simply3D setup
  2. '**************************************************************************
  3.  
  4. '$DEFINE DEBUG  ''Define for script development/debugging
  5.  
  6. '$INCLUDE 'setupapi.inc'
  7. '$INCLUDE 'msdetect.inc'
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST OPTIONS       = 800
  17. CONST APPHELP       = 900
  18. CONST CUSTINST      = 6200
  19. CONST BADPATH       = 6400
  20.  
  21. CONST DEMOFILES     = 1
  22.  
  23.  
  24. ''Bitmap ID
  25. CONST LOGO = 1
  26.  
  27. GLOBAL SRCDRIVE$   ''Default source drive.
  28. GLOBAL WINDIR$      ''Default destination directory.
  29. GLOBAL WINSYSDIR$   ''Default destination directory.
  30. GLOBAL EXECOPT$     ''Option selection from OptFiles1 option dialog.
  31. GLOBAL TUTOROPT$    ''Option selection from OptFiles2 option dialog.
  32. GLOBAL DODEMO$      ''Option selection to install demos.
  33. GLOBAL CUIDLL$
  34.  
  35. ''Dialog list symbol names
  36. GLOBAL CHECKIN$
  37. GLOBAL CHECKOUT$
  38.  
  39. DECLARE SUB Install
  40. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  41. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  42. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  43. DECLARE FUNCTION FShowWindow LIB "mscuistf.dll" (arg1%) AS INTEGER
  44.  
  45. INIT:
  46.     Tmp% = FShowWindow( HwndFrame )
  47.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  48.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  49.  
  50.     SetBitmap CUIDLL$, LOGO
  51.     SetTitle "Visual Software 3D Demo Setup"
  52.  
  53.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  54.     IF szInf$ = "" THEN
  55.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  56.     END IF
  57.  
  58.     ReadInfFile szInf$
  59.  
  60.  
  61. '$IFDEF DEBUG
  62.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  63.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  64.     IF IsDriveValid(WinDrive$) = 0 THEN
  65.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  66.         GOTO QUIT
  67.     END IF
  68. '$ENDIF ''DEBUG
  69.  
  70.  
  71. WELCOME:
  72.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  73.     IF sz$ = "CONTINUE" THEN
  74.         UIPop 1
  75.     ELSE
  76.         GOSUB ASKQUIT
  77.         GOTO WELCOME
  78.     END IF
  79.  
  80.     w% = GetScreenWidth
  81.     h% = GetScreenHeight
  82.  
  83. GETPATH:
  84.     SetSymbolValue "EditTextIn", DEST$
  85.     SetSymbolValue "EditFocus", "END"
  86. GETPATHL1:
  87.  
  88.     ''CustInst list symbols
  89.     CHECKIN$  = "CheckItemsIn"
  90.     CHECKOUT$ = "CheckItemsOut"
  91.  
  92.     AddListItem CHECKIN$, "ON"
  93.  
  94. CUSTINST:
  95.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FCheckDlgProc", APPHELP, HELPPROC$)
  96.  
  97.     IF sz$ = "CONTINUE" THEN
  98.         UIPop 1
  99.         GOTO CHECKOPTIONS
  100.     ELSEIF sz$ = "CHK1" THEN
  101. '        RecalcOptFiles APPFILES
  102. '        SetDriveStatus
  103.         GOTO CUSTINST
  104.     ELSEIF sz$ = "CHK2" THEN
  105. '        RecalcOptFiles OPTFILES1
  106. '        SetDriveStatus
  107.         GOTO CUSTINST
  108.     ELSEIF sz$ = "CHK3" THEN
  109. '        RecalcOptFiles OPTFILES2
  110. '        SetDriveStatus
  111.         GOTO CUSTINST
  112.     ELSE
  113.         GOSUB ASKQUIT
  114.         GOTO CUSTINST
  115.     END IF
  116.  
  117. CHECKOPTIONS:
  118.     DODEMO$     = "NO"
  119.  
  120.     op1$ = GetListItem ( CHECKOUT$, DEMOFILES)
  121.     IF op1$ = "ON" THEN
  122.        DODEMO$ = "YES"
  123.     ENDIF
  124.  
  125. INSTALLIT:
  126.  
  127.     WINDIR$ = GetWindowsDir()
  128.     WINSYSDIR$ = GetWindowsSysDir()
  129.     CreateSysIniKeyValue WINDIR$ + "system.ini" , "386Enh" , "PageOverCommit" , "20" , cmoOverwrite
  130.  
  131.     Install
  132.  
  133.  
  134. QUIT:
  135.     ON ERROR GOTO ERRQUIT
  136.  
  137.     IF ERR = 0 THEN
  138.         dlg% = EXITSUCCESS
  139.     ELSEIF ERR = STFQUIT THEN
  140.         dlg% = EXITQUIT
  141.     ELSE
  142.         dlg% = EXITFAILURE
  143.     END IF
  144. QUITL1:
  145.  
  146.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  147.     IF sz$ = "REACTIVATE" THEN
  148.         GOTO QUITL1
  149.     END IF
  150.     UIPop 1
  151.  
  152.     END
  153.  
  154. ERRQUIT:
  155.     i% = DoMsgBox("Setup sources were corrupted, call 818 883-7900!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  156.     END
  157.  
  158.  
  159.  
  160. BADPATH:
  161.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  162.     IF sz$ = "REACTIVATE" THEN
  163.         GOTO BADPATH
  164.     END IF
  165.     UIPop 1
  166.     RETURN
  167.  
  168.  
  169.  
  170. ASKQUIT:
  171.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  172.  
  173.     IF sz$ = "EXIT" THEN
  174.         UIPopAll
  175.         ERROR STFQUIT
  176.     ELSEIF sz$ = "REACTIVATE" THEN
  177.         GOTO ASKQUIT
  178.     ELSE
  179.         UIPop 1
  180.     END IF
  181.     RETURN
  182.  
  183.  
  184.  
  185. '**
  186. '** Purpose:
  187. '**     Builds the copy list and performs all installation operations.
  188. '** Arguments:
  189. '**     none.
  190. '** Returns:
  191. '**     none.
  192. '*************************************************************************
  193. SUB Install STATIC
  194.  
  195.     SRCDRIVE$ = GetSymbolValue("STF_SRCDIR")
  196.     SrcDir$ = GetSymbolValue("STF_SRCDIR") + "showcase"
  197.  
  198. IF DODEMO$ = "YES" THEN
  199.     CreateProgmanGroup"Visual Software", "", cmoNone
  200.     ShowProgmanGroup  "Visual Software", 1, cmoNone
  201.  
  202.     CreateProgmanItem "Visual Software", "Showcase", SRCDRIVE$ + "showcase\showcase.exe ", "", cmoOverwrite
  203.     CreateProgmanItem "Visual Software", "Main", SRCDRIVE$ + "showcase\main.exe ", "", cmoOverwrite
  204. ENDIF
  205.  
  206. END SUB
  207.  
  208.  
  209.  
  210. '**
  211. '** Purpose:
  212. '**     Appends a file name to the end of a directory path,
  213. '**     inserting a backslash character as needed.
  214. '** Arguments:
  215. '**     szDir$  - full directory path (with optional ending "\")
  216. '**     szFile$ - filename to append to directory
  217. '** Returns:
  218. '**     Resulting fully qualified path name.
  219. '*************************************************************************
  220. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  221.     IF szDir$ = "" THEN
  222.         MakePath = szFile$
  223.     ELSEIF szFile$ = "" THEN
  224.         MakePath = szDir$
  225.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  226.         MakePath = szDir$ + szFile$
  227.     ELSE
  228.         MakePath = szDir$ + "\" + szFile$
  229.     END IF
  230. END FUNCTION
  231.  
  232.  
  233.  
  234.  
  235.